package com.healthcloud.service.index;

import com.healthcloud.dto.res.CountInstrumentMonthDto;

import java.util.List;
import java.util.Map;

/**
 * @author zhangjie
 */
public interface CountService {

	/**
	 * 2018年至当年病人总数
	 */
	Integer patientNum(String ids, String type);

	/**
	 * 2018年至当年仪器总数
	 */
	Integer instrumentNumber(String ids, String type);


	/**
	 * 一个月新增人数
	 */
	Integer patientNewNum(String ids, String type);
	/**
	 * 一个月新增仪器数
	 */
	Integer instrumentNewNum(String ids, String type);

	/**
	 * 设备使用次数
	 */
	Integer instrumentUseNum(String ids, String type, String dateType);

	/**
	 * 最近10次仪器使用情况
	 */
	List<Map> tenUseMsg(String ids, String type);

	/**
	 * 活跃设备
	 */
	Integer instrumentActiveNum(String ids, String type, String dateType);

	/**
	 * 设备使用次数(时间段)
	 */
	List<Map> instrumentUseDate(String ids, String type, String dateType);

	/**
	 * 活跃设备数(时间段)
	 */
	List<Map> instrumentActiveDate(String ids, String type, String dateType);

	/**
	 * 建档月统计
	 */
	List<Map> patientMonth(String ids, String type, String year);

	/**
	 * 按月统计设备绑定数
	 */
	List<Map> instrumentMonth(String ids, String type, String year);

	/**
	 * 按月统计设备绑定数（区分慢病后台绑定 和 积分商城绑定）
	 */
	List<CountInstrumentMonthDto> countInstrumentMonth(String ids, String type, String year);

	/**
	 * 随访月度统计
	 */
	List<Map> accompanyMonth(String ids, String type, String year);

	/**
	 * 按月统计慢病新增人数
	 * @param ids
	 * @param type
	 * @param year
	 * @return
	 */
	List<Map> newPatientMonth(String ids, String type, String year);


}

